package cc.yaomm.service.basic.entity.user;

import cc.yaomm.common.basic.base.SuperEntity;
import cc.yaomm.common.basic.enums.PermissionTypeEnum;
import cc.yaomm.common.basic.enums.StatusEnum;
import cc.yaomm.common.biz.enums.OwnerTypeEnum;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * Created by XQL on 2021/6/9.
 */
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@TableName("permissions")
public class Permissions extends SuperEntity {

    /**
     * 权限名
     */
    private String name; //        VARCHAR(32)        NOT NULL COMMENT '权限名',

    /**
     * 权限编码；以冒号隔开，追加父级编码
     */
    private String code; //        VARCHAR(64) UNIQUE NOT NULL COMMENT '权限编码，以逗号区分层级',

    /**
     * 权限别名,提供给前端绑定控件
     */
    private String alias; //       VARCHAR(64)        NOT NULL COMMENT '权限别名',

    /**
     * 路由，对应前端路由
     */
    private String router; //      VARCHAR(64)        NOT NULL COMMENT '路由',

    /**
     * 类型 1-目录 2-菜单 3-按钮
     */
    private PermissionTypeEnum type; //        TINYINT            NOT NULL DEFAULT 1 COMMENT '类型 1-目录 2-菜单 3-按钮',

    /**
     * 图标
     */
    private String icon; //        VARCHAR(64)        NULL COMMENT '图标',

    /**
     * 状态 1-正常 2-锁定
     */
    private StatusEnum status; //      TINYINT            NOT NULL DEFAULT 1 COMMENT '状态 1-正常 2-锁定',

    /**
     * 排序值
     */
    private Integer sort; //        INT                NOT NULL DEFAULT 1 COMMENT '排序值',

    /**
     * 所属类型 1-业务系统 2-商家 3-集团账号
     */
    private OwnerTypeEnum ownerType; //  TINYINT            NOT NULL COMMENT '所属类型 1-业务系统 2-商家 3-集团账号'

}
